#include <iostream>
#include <functional>
#include <string>

template <typename  T>
int compare(const T& value1, const T& value2)
{
	if(std::less<T>()(value1, value2))
		return -1;
	if(std::less<T>()(value2, value1))
		return 1;
	return 0;
}

int main(int argc, char** argv)
{
	std::cout<<compare(std::string("abc"), std::string("cba"))<<std::endl;
	return 0;
}
